JenkinsConf2015行って来た


概要

XFDコンテストの話があったはずなんですが1/12(Mon)だと思い込んでて、

はらださんが教えてくれなかったらマジで日程間違えたままだった。


気づきだけをメモしておく。



バージョン管理に組み込むためにJenkinsジョブはshellを実行するだけ

Jenkinsジョブの欄が腐海になるのを防げる手段として常用してたけど、

やっぱ必須テクニックだよね。


ilinxさんの発表より。資料は下記

http://www.slideshare.net/swiftnest/jenkins-43394510


職人芸化を防ぐために使えるほか、


Jenkinsでエラーが出る

-> shell含んでるので各ユーザーの手元でも試せる

-> それで成功する場合、Jenkinsかユーザーのどっちかがおかしい、などの問題の分割がすみやかに行えるのも利点。


自分がJenkinsに用途デザイン面で欲しいのは、「複雑になった動作内容をプロジェクトそれ自体に落とす」というのを推奨する仕掛けなんだけど、

どうすればいいかは思いつかない。別の入り口が必要な気がしている。



1分で終わらなかったらエラーの話

ひきつづきilinxさん。


n分という指定でいいんだけど、ジョブ起動からn分で終わらなかったらエラーにする、っていう手法はなんかこう、斬新でよかった。

ようは、十分に高速なんだけどまだ終わらないとしたらおかしい、みたいなジョブを組んで、

異常検知につかおう、という。


その発想は無かった。良い。


テストの価値は、運を上げること

ひきつづきilinxさん。Q&Aで素晴らしい話がでていたので紹介。


ここらへん聞くのに夢中になっててあれなんだが、意訳すると以下のような問答。


Q.コンシューマゲームの作成に関して、自動テストはどのような価値を生んでますか?

A.デバッガーが運良くその地雷を踏むか踏まないか、という内容に対して、より気づく機会を増やすことができる。


みたいなことをおっしゃってて、このへん超賛成した。


あとデバッグする際に、その問題をreproduceできるかどうかについても、

「一度この動作でエラーが出た」というのはとても信頼できる情報源になる。

バグが直ったかどうかチェックするのにも、このreproduce力がモノを言うし。



botのコード、どこに書く?

ひきつづきilinxさん。講演後に発表者のかたに質問してみた。


Q.テスト用のオートクリアbotのお話されてましたけど、あのbotの動作コードってどこに書いてある感じですか?

A.ゲーム中にハードコード。


非常に身につまされる話で、コードの中の方が、「できることが限定されていてbotを動作させるための入力もやりやすい」という感じ。


ゲーム外からの入力のやりにくさには、主に以下の要因がある。


・キー入力の制限について、いつならどんなタイミングでどのボタンが押せるか、というのを外部からコントロールするのは大変極まる

・画面遷移などのタイミング = 物事が終わったり変わったりした状態の変化をトラックするのが外部からだと面倒、内部からシグナル出すのもまあ面倒

簡単に言うと、AI(画像認識と思考と操作)を作りたい訳ではない、という感じ。



このへんはまだなんかクリエイター間産業とかで成長の伸びしろがあると思う、、んだけど、自分で作りたくはないな。



ワークフロープラグイン

https://jenkins-ci.org/content/workflow-plugin-10

基調講演聞けなかった。ので話をすべてTLで追ってた感じ。


あとで触ってみよう。


TL追ってるかんじだと、

・実行計画を各マシンにgitで保持

・Groovyを使用して描ける

あたりは分かった。



XFDの話

XFD (eXtreme feedback device)

ようは極端にフィードバックする装置で、例えばビルドエラーが出たときにパトランプ回したり、轟音で人を責めたりとかそういうの。

無視しにくくてかつ解決しようという気にさせる必要がある。


ウザすぎると殺人とかに発展するので良くないと思うが、

どこまでなら人間は我慢するのか、みたいなのを実践できて大変面白い。


Unityを使ってXFDのプロトタイピングを行っていたのがなんかこう「ああ、2015年になったんだな」みたいな感じした。


Arduinoの電圧問題みたいなのは新しいverで改善されたとかそんな話をあとで聞いた。



Jenkinsについて最近思うこと

ランナーなのかマネージャなのか、というあたりで分離できるようになるんじゃないかなーと思っている。

Pasted Graphic.tiff

マスタースレーブ構成じゃなくて群体構成で組めないかなー。全体で一個のアスペクトを持つ的な。

未分化な細胞が位置に合わせて分化、特性をもって動作していく、みたいな。


勿論分化はリソースに応じるけど一瞬で、みたいな。


まあ妄想です。